#ifndef __HALALGAES_H__
#define __HALALGAES_H__

    #define HALALGAES_MODE_ECB_128	0x80000111L
    #define HALALGAES_MODE_CBC_128	0x80000112L
    #define HALALGAES_MODE_ECB_192	0x80000121L
    #define HALALGAES_MODE_CBC_192	0x80000122L
    #define HALALGAES_MODE_ECB_256	0x80000141L
    #define HALALGAES_MODE_CBC_256	0x80000142L
    
    extern UINT32 HalAlgAES_Init(UINT8 Key[], UINT8 KLen, UINT8 IV[]);
    extern UINT32 HalAlgAES_Encrypt_Update(UINT32 Mode, UINT8 *pInBuf, UINT16 nSize, UINT8 *pOutBuf);
    extern UINT32 HalAlgAES_Decrypt_Update(UINT32 Mode, UINT8 *pInBuf, UINT16 nSize, UINT8 *pOutBuf);
    extern UINT32 HalAlgAES_Final(void);

#endif
